草庐IT

c++ - ofstream 指针的 vector

全部标签

c++ - Qt 5 和 QProcess 使用信号/槽 readyRead 重定向标准输出

这个问题困扰着我,因为它应该有效,但遗憾的是它没有。我试图实现的是读取某个进程的标准输出并让另一个进程处理它,即打印出来。产生输出的过程如下所示:#include#include#includeintmain(){for(inti=0;i进程是在另一个应用程序中启动的,如下所示:#include...QProcess*process=newQProcess;SomeClass*someClass=newSomeClass(process);connect(process,SIGNAL(readyRead()),someClass,SLOT(onReadyRead()));process

c++ - 多态性和成员函数指针是如何工作的?

这个问题在这里已经有了答案:Pointerstovirtualmemberfunctions.Howdoesitwork?(3个答案)关闭9年前。我有以下代码:#includeusingnamespacestd;classBase{public:virtualvoidWhoAmI()const;typedefvoid(Base::*WhoPtr)()const;};classDerived:publicBase{public:virtualvoidWhoAmI()const;};voidDerived::WhoAmI()const{cout让我们关注主要内容:intmain(){Bas

c++ - FFmpeg 库 : Exactly constant segment duration for HLS

我们正在使用FFmpeg库git-ee94362libavformatv55.2.100。我们的目的是使用HLS将两个流(视频和音频)混合到M3U8播放列表中。此外,我们希望每个TS片段文件的持续时间正好为3.0秒(帧速率为25fps)。为了实现它,我们尝试设置几个选项和属性,即:-分段时间-keyint_min-scenechange_threshold-gop_size-force_key_frames。我们的代码如下所示:AVCodecContext*codec_ctx=NULL;AVFormatContext*ofmt_ctx=NULL;intret=0,gopSize=(in

c++ - 使用 fprintf 获取访问冲突写入位置 0x00000014

我在VisualStudio2010上工作。该程序本身最初是为CUDA的future端口设计的,所以一切都准备好了,但现在我只是测试它是否适用于纯C++(实际上我现在正尝试坚持使用c,因为我对它更熟悉)。相关代码为:#defineNMBR_EXP_ENERGIES21#defineNMBR_Ls3#defineNMBR_POINTS20000intNMBR_EXP_ENERGIES_L[NMBR_Ls];voidwrite_results(double**u,int*NmbrNodes,int*div){constcharprefix[]="wave_function_";charfi

c++ - 读取控制台调色板的 RGB 值

肉类在C或C++中有什么方法可以直接读取调色板的RGB值吗?特别有趣的是xterm(和其他)使用的扩展颜色空间来定义多达256种终端颜色。土bean典型的例子是我想定义自己的颜色(使用ANSI转义序列,例如\e]4;3;rgb:cc/78/33\e\\,或者直接在c)中,但我需要在重新定义用户颜色之前保存它们(万一他们已经重新定义了颜色),以便我可以在程序完成时恢复它们。破坏用户设置并不好。现在我的目标是使用ANSI转义序列以客户端方式执行此操作。但由于我找不到如何获得颜色,所以我开始考虑用C或C++代替。该解决方案将编写为具有native扩展(基本上是嵌入式c或c++代码)的ruby

c++ - 在 gdb C++ 中打印双 vector 的总和

在GDB中调试时是否可以打印doublevector的总和?我知道vector的值可以由*(vec._M_impl._M_start)@N打印,但我只想对巨大的数组求和可以做什么?一种解决方案是编写C++函数并在GDB中调用它。还有其他更简单的解决方案吗? 最佳答案 它可以通过gdb脚本完成,但我认为编写c++函数并调用它是更好的解决方案。尽管如此,脚本(通过获取STLsupporttools并对其进行修改而创建)是这样的:definepvecsumset$sum=0set$size=$arg0._M_impl._M_finish-

c++ - 解决循环依赖难题 "elegantly"

所以我正在开发一种编程语言,它可以编译为字节码以供VM执行,也可以编译为C作为中间语言以编译为native二进制文件。我选择C​​是因为它足够低级且可移植,通过重用现有编译器而不必编写编译器来为每个不同的平台及其异常情况进行汇编,从而节省了大量工作。但是现有的编译器有其缺点,其中之一就是循环依赖问题。我想以一种优雅的方式(与C/C++不同)解决循环依赖,而无需笨拙的前向声明,不必使用指针和额外的间接寻址和浪费的内存,不必将声明与定义分开等等......换句话说,像某些编程语言一样,将此问题从开发人员手中拿走。在我看来,当前C/C++编译器的主要问题是它们无法“展望future”,即使它

c++ - 确定哪个信号导致了 EINTR?

我正在运行一个epoll循环,有时我对epoll_wait的调用返回-1,errno设置为EINTR。有时,我希望这样可以结束epoll循环,例如SIGTERM或SIGINT。但是我用-pg标志编译了这段代码,因此会发出周期性的SIGPROF(27)信号来停止我的循环。那么...是否可以打开signum以便我可以确定何时退出或继续?我想避免使用全局变量来跟踪最近发射的信号。 最佳答案 在SIGTERM和SIGINT上添加信号处理程序。在这些处理程序中,您设置了一个变量,您可以在主epoll循环中检查该变量

C++双指针成员访问

C++(Arduino包装器)问题:我正在一个连接了LCD的Arduino上写一个射击游戏-我有一个基类(Sprite),从这个基类派生出其他类-Alien,Missile和Player.Alien类的构造函数也有私有(private)成员pMissile(指向Missile类的指针)-我认为“对象中的对象”是描述这一点的一种方式。[当Alien发射导弹,它将自己的(x,y)坐标传递给导弹,导弹有自己的从Alien开始移动的方法。的坐标]我的问题是:如何通过Alien访问导弹的坐标?目的?简化的代码如下,我还绘制了类的表示://Bassclass-hasaform/shape,xand

c++ - `std::vector` 在调整大小时抛出 "bad allocation"异常

我在C++dll中有以下代码,我通过JNI调用它:std::vectormyVector;myVector.resize(10000000,0);我收到“错误分配”异常,即使vector的最大大小应该大于10000000。我应该使用什么工具来跟踪内存分配,以便定位任何内存泄漏?如果真的没有内存泄漏,我该如何减少vector的占用空间以确保我有足够的空间? 最佳答案 我知道这可能是找出分配大小的最差解决方案。所以这里是:主要.cpp:#include"jni.h"#include#include#if(_MSC_VER==1800)|